#ifndef MESSAGE_HPP_
#define MESSAGE_HPP_

#include <string>


namespace KitMessage
{
	class UknownMessageException
	{

	};

	/**
	 * The purpose of this class is to wrap the incoming event message
	 * and provide easy access to it's fields. Every incoming message
	 * is split using the Tokenizer delivered with this project.
	 */
	class Message
	{
	public:
		Message(std::string iPayload):_payload(iPayload){}

		void decode();

		std::string getFrom() const {return _from;}
		std::string getPayload() const {return _payload;}
		unsigned int getSequenceNo() const{	return _sequenceNo;}
		std::string getTo() const{return _to;}
		std::string getType() const{return _type;}


	private:
		std::string _payload;
		std::string _from;
		std::string _to;
		std::string _type;
		unsigned int _sequenceNo;
	};
}


#endif /* MESSAGE_HPP_ */
